home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Commodore Disk User Volume 4 #11
/
Commodore_Disk_User_Vol.4_11_1991_-.d64
/
basic demo
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
4KB
|
83 lines
0 rem * * * * * * * ** * * * * * * *
1 rem * *
2 rem * sprite priorities *
3 rem * a basic demo *
4 rem * by bones *
5 rem * *
6 rem * * * * * * * ** * * * * * * *
7 :
8 :
9 :
10 gosub66:rem * initialise
11 :
12 rem ***** program mainloop *****
13 :
14 gosub55:rem * keypress
15 jv=peek(js)and15:ifjv=15then14
16 gosub21:rem execute joy commands
17 goto14
18 :
19 rem *** joystick up ***
20 :
21 ifjv<>14then32
22 ds(k)=ds(k)-4:ifds(k)<50thends(k)=50
23 pokev+1+(n*2),ds(k)
24 ifpeek(v+3+(n*2))<=peek(v+1+(n*2))then28
25 sys52832:rem * prioritise sprites
26 n=n+1:ifn>7thenn=7
27 ifn<>0thengosub64
28 return
29 :
30 rem *** joystick down ***
31 :
32 ifjv<>13then43
33 ds(k)=ds(k)+4:ifds(k)>208thends(k)=208
34 pokev+1+(n*2),ds(k)
35 ifpeek(v+1+(n*2))<=peek(v-1+(n*2))then39
36 sys52832:rem * prioritise sprites
37 ifn<>0then gosub64
38 n=n-1:ifn<0thenn=0
39 return
40 :
41 rem *** joystick left/right ***
42 :
43 y=peek(v+(n*2))
44 ifjv<>11then47
45 y=y-6:ify<24theny=24
46 goto49
47 ifjv<>7then23
48 y=y+6:ify>255theny=255
49 pokev+(n*2),y
50 return
51 :
52 rem *** select-a-sprite ***
53 rem * keys 1 to 8 *
54 :
55 getk$:x=val(k$):ifx<1orx>8then60
56 k=x-1
57 forc=0to7
58 iff(c)=kthenn=c
59 next
60 return
61 :
62 rem *** update f(lag) array ***
63 :
64 z=f(n):f(n)=f(n-1):f(n-1)=z:return
65 :
66 rem *** initialise ***
67 :
68 poke53280,0:poke53281,0:print"[147]"
69 v=53248:js=56320:dp=2040:po=192:dimds(7),f(7):n=0:jv=0:k=0:
70 forc=0to64:poke12288+c,255:next:rem * fill sprite images with blanks
71 forc=0to7:pokedp+c,po:rem * data pointers
72 rem
73 rem
74 rem
75 pokev+39+c,c+1:rem * colour sprites
76 nextc
77 x=50:forc=0to14step2:pokev+c,x:x=x+10:next:rem * poke x coords
78 y=200:forc=1to15step2:pokev+c,y:y=y-10:next:rem * poke y coords
79 forc=0to7:ds(c)=peek(v+1+(c*2)):f(c)=c:next:rem * set up arrays
80 pokev+21,255:rem * enable sprites
81 return